#pragma once

#include "..\ResourceHandle.h"

class IResourceLoader
{
	public:
		virtual std::string GetPattern() = 0;

		virtual bool UseRawFile() = 0;

		virtual bool DiscardRawBufferAfterLoad() = 0;

		virtual bool AddNullZero() { return false; }

		virtual unsigned int GetLoadedResourceSize(
			char* pRawBuffer, 
			unsigned int rawSize) = 0;

		virtual bool LoadResource(
			char* rawBuffer, 
			unsigned int rawSize, 
			shared_ptr<ResourceHandle> handle) = 0;
};